Android:一个activity向另一个activity中的fragment传值并显示

您所在的位置:网站首页 activity fragment传值 Android:一个activity向另一个activity中的fragment传值并显示

Android:一个activity向另一个activity中的fragment传值并显示

2024-01-05 12:41| 来源: 网络整理| 查看: 265

解决思路是:一个activity向另一个activity中传值,接收到数据后再传给fragment

数据传递:activiy1--->activity2--->fragment

步骤1:获取activity1中edittext值,然后用inten传递给activity2

//获取edittext编辑框的值 private EditText mname; mname=findViewById(R.id.minsu_name); String name=mname.getText().toString().trim(); //从activity1传给activity2 Intent intent=new Intent(activity1.this,activity2.class); intent.putExtra("name",name); startActivity(intent);

步骤2:在activity2中接收传递过来的值,并传递给fragment

//先创建fragment文件,并在activity2中声明并初始化 private Fragment fragment; Fragment fragment=new Fragment(); //接收数据,注意getStringExtra()中的字符串必须和putExtra()中的第一个字符串保持一致 Intent intent=getIntent(); String name = intent.getStringExtra("name"); // 向fragment传递数据 Bundle bundle=new Bundle(); bundle.putString("name",name); fragment.setArguments(bundle); //nav_contatiner是activity2的xml文件中的fragment控件的id,用replace()方法替换掉activi2中的fragment FragmentTransaction transaction=getSupportFragmentManager().beginTransaction(); transaction.replace(R.id.nav_container,fragment).commitNow();

步骤3:fragment接收数据并显示

//在frament文件中的onCreateView方法中接收数据并显示 //声明并初始化一个textview TextView textname = root.findViewById(R.id.text_name); //接收数据并用textview控件的setText()方法改写text内容,传递的数据是name Bundle bundle=getArguments(); String name=bundle.getString("name"); textname.setText(name);

学习记录用的,若有错请指正。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3